#!/usr/bin/python3

# simply use 
from typing import ClassVar


class Myclass:
    "one simple instance of class"
    def __init__(self): # class construct
        self.data = []  # 可以同时定义变量，也可以给已有变量赋值
        print("class construct")
    i = 12345
    def f(self):
        return "hello world"
#实例化类
ins_class = Myclass()

print("Myclass properties：",ins_class.i)
print("Myclass function:",ins_class.f())
print ("------------------------")

# 类函数与属性  self为实例
class people:
    name = ''
    age = 0
    __weight = 0    #定义私有属性,私有属性在类外部无法直接进行访问
   
    def __init__(self,n,a,w): #定义构造方法
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

p = people('runoob',10,30)
p.speak()
print ("------------------------")

class people:
    name = ''
    age = 0
    __weight = 0 #定义私有属性,私有属性在类外部无法直接进行访问 私有方法也是 __开头

    def __init__(self,n,a,w):     #定义构造方法
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))
 
#单继承示例
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了，我在读 %d 年级"%(self.name,self.age,self.grade))
 
 
 
s = student('ken',10,60,3)
s.speak()